﻿namespace EyeOpen.Validation
{
    /// <summary>
    /// Allows to validate an object.
    /// </summary>
    public interface IValidator
    {
        /// <summary>
        /// Gets the validation message.
        /// </summary>
        /// <value>The validation message.</value>
        string ValidationMessage
        {
            get;
        }

        /// <summary>
        /// Determines whether the specified object is valid.
        /// </summary>
        /// <param name="obj">The object.</param>
        /// <returns>
        /// <c>true</c> if the specified object is valid; otherwise, 
        /// <c>false</c>.
        /// </returns>
        bool IsValid(object obj);
    }
}